package engine

import (
	"log"

	"aqielife.cn/spider/singleSpider/zhenai/downloader"
)

/**
  因为远程获取内容以及内容处理是最耗时的，所以把它单独拿出来以方便并发使用
*/
func Worker(r Request) (ParseResult, error) {
	log.Printf("Fetching %s", r.Url)
	body, err := downloader.Fetch(r.Url)
	if err != nil {
		log.Printf("Fetcher error: url %s, %v", r.Url, err)
		return ParseResult{}, err
	}

	return r.Parser.Parse(body, r.Url), nil
}
